Run CommandでWindowsの設定情報を出力してみた
ご機嫌いかがでしょうか、豊崎です。
Windowsの設定を確認しようとした時に、サーバにログインするのが手間だったので、AWS Systems Managerのアクション「Run Command」を利用してWindowsにログインをせずに基本的な設定値を出力してみました。
前提
EC2には「AmazonEC2RoleforSSM」ポリシーがアタッチされたIAMRoleが付与されているものとします。
今回はWindows Server 2012R2とWindows Server 2016のEC2を用意しました。
やってみる
それではAWSマネジメントコンソールからAWS Systems Managerダッシュボードを開き、Run Commandをクリックしていきます。
コマンドの実行をクリックして進んで行きます。
「AWS-RunPowerShellScript」を選択します。
準備しておいた2台のEC2をターゲットとして選択します。
コマンドのパラメータに以下のコマンドをコピペします。
Write-Output "***host name***" $env:ComputerName Write-Output "" Write-Output "***disk***" Get-Volume | Select-Object DriveLetter,FileSystem,@{Label='FreeSpace';Expression={"{0:N2}GB" -f ($_.SizeRemaining/1GB)}},@{Label='Size';Expression={"{0:N2}GB" -f ($_.Size/1GB)}} | Format-Table Write-Output "" Write-Output "***fire wall***" Get-NetFirewallProfile | Select-Object Name,Enabled | Format-Table Write-Output "" Write-Output "***WindowsUpdate***" $WindowsUpdateAU = Get-ItemProperty -Path registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\"Auto Update" $WindowsUpdateAU.AUOptions if($WindowsUpdateAU -ne $null){ Switch($WindowsUpdateAU.AUOptions){ 0{$WUAU = "Unconfigured"} 1{$WUAU = "Never check fot updates(not recommended)"} 2{$WUAU = "Download updates but let me choose whether to install them"} 3{$WUAU = "Check for updates but let me choose whether to download and install them"} 4{$WUAU = "Install updates automatically(recommended)"} $null {$WUAU = "Unconfigured"} default{$WUAU = "RDP to check the setting"} } } $WUAU Write-Output "" Write-Output "***time zone***" tzutil /g Write-Output "" Write-Output "***locale***" Get-WinSystemLocale | Select-Object Name
あとはデフォルト値で実行をしました。
出力結果としは以下のようになりました。
※どちらのOSも出力形式は同じです。
***host name*** WIN-PMSNTIIXXXX ***disk*** DriveLetter FileSystem FreeSpace Size ----------- ---------- --------- ---- NTFS 0.09GB 0.34GB C NTFS 9.70GB 29.66GB ***fire wall*** Name Enabled ---- ------- Domain True Private True Public True ***WindowsUpdate*** Unconfigured ***time zone*** UTC ***locale*** Name ---- en-US
まとめ
自分で使う用の備忘録的なポストでしたが、Powershellのスクリプトを変えれば何にでも使えるので便利です。誰かのお役に経てば幸いです。
参考
Windows Server の主な設定値を PowerShell で取得して CSV で出力する
PowerShell ストレージ調査に役立つコマンドレットとスクリプト~Get-PhysicalDiskやGet-VirtualDisk